In the past, robotic arms have been constructed and designed for use as either expensive, complex and heavy-duty arms for heavy industrial use, or inexpensive, light-duty arms for educational and robotic research purposes. With respect to the industrial arms, closed-loop control systems are typically utilized with drive motors and shaft encoders often located at each of the joints. Typical of these robots are those manufactured by Unimation Corporation and Cincinnati Milacron Corporation. The closed-loop configuration, as well as the use of shaft encoders and drives at each joint, permits an arm in which precise control can be realized. However, due to the added weight at each joint, the structural components must be strengthened accordingly. In turn, the drive mechanisms must also be increased in capacity. As a result, such heavy-duty robots are expensive, bulky and of great size.
Conversely, with respect to the light-duty, educational type robotic arms, such as those arms manufactured by the assignee-of the present invention, the drive motors for each segment of the arm are located at the base of the arm, with the motive energy being transmitted to each joint by way of a cable and pulley system, utilizing tendon technology. This, in turn, permits each segment of the arm to be of significantly lighter weight. In order to keep costs down, such an arm is controlled open-loop. That is, the position of each member is controlled by keeping track of the signal supplied to the motor drives, with the assumption that the particular member will move exactly in accordance with the drive signal supplied thereto. Such a configuration provides an inherent problem, that of keeping track of the actual position, versus the commanded position, of the arm, and each of its structural members. With open-loop control, the arm is susceptible to mispositioning due to a number of factors, such as an external force which causes the arm to be bumped out of its current position and into another different position. The control circuitry for this open-loop configuration will have no way of detecting that such an event occurred. Additionally, as is the case in most mechanical motion involving movement over a series of different paths, the cumulative error in and of itself may result in a positional difference from that which has been commanded. Another source of mispositioning is slippage of the motor drives. For example, when stepper motors are used, such stepper motors are susceptible to slippage when a force greater than the maximum torque suppliable by the stepper motor is presented by an external object.
With respect to the tendon-type robotic arms in which drive motors are mounted on the base of the arm, there is an additional problem in designing a position calibration system. This problem involves the intercoupling between each of the segments of the arm. The typical robotic arm is comprised of a number of structural members, each structural member being linked to another by way of a joint. The cables or tendons by which rotational energy is transferred, from the motor drives on the base to the structural members, are themselves routed to the desired structural member via other structural members and joints. As such, the movement of a particular structural member can affect the position of other structural members. This, in part, is due to the manner in which the cables pass through a particular structural member on their way to the structural member to be driven. Typically, an idler pulley is located on an intermediate joint. The cable is wrapped about this idler pulley. The structural member driven by that cable is positioned at the end of the intermediate structural member which pivots about the joint on which the idler pulley is positioned. Thus, when that intermediate structural member is moved, and where the motor drive for the idler pulley does not move, the movement of the intermediate structural member causes the cable to wrap or unwrap an additional amount about the idler pulley. To the structural member to which the cable is connected, this wrapping or unwrapping looks like the motor drive is causing the cables or tendons to be moved. Thus, this structural member moves when the intermediate structural moves. Conversely, certain of the structural members do not influence the position of other structural members. Typically, these members are located at the end of a series of coupled members. This is because there are no idler pulleys associated with other structural members on the joint to which these "end" members are connected.
As a result of the intercoupling of the various structural members, the manner in which the position of each structural member is calibrated is no longer straight-forward. Any calibration system design must take into account this intercoupling and deal with it effectively.